<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 300px;
            height: 300px;
            background-color: blue;
        }

        .box1 {
            width: 100px;
            height: 100px;
            background-color: blueviolet;
        }
    </style>
</head>

<body>
    <div class="box">
        <div class="box1"></div>
    </div>
    <script>
        // 事件: 任何dom节点都可以绑定事件
        // 事件源: 触发事件的元素
        // 事件类型 : 鼠标事件,键盘事件,表单事件等
        // 事件处理程序 : 函数(描述事件的行为)

        // 获取box
        var box = document.querySelector(".box");
        box.onclick = function (e) {
            console.log(this);           //绑定事件的元素
            console.log(e.target);   //触发事件的元素
        }

        // 鼠标事件
        // onmouseover     鼠标刚进入元素时触发
        // onmouseenter    鼠标完全进入元素时触发
        // onmousemove     鼠标在元素上移动时触发
        // onmouseout      鼠标刚离开元素时触发
        // onmouseleave    鼠标完全离开时触发
        // onclick         鼠标单击左键时触发
        // onmousedown     鼠标按下的时候触发
        // onmouseup       鼠标按键弹起的时候触发 

        box.onmouseover = function () {
            console.log("onmouseover");
        }
        box.onmousemove = function () {
            console.log("onmousemove");
        }
        box.onmouseenter = function () {
            console.log("onmouseenter");
        }
        box.onmouseout = function () {
            console.log("onmouseout");
        }
        box.onmouseleave = function () {
            console.log("onmouseleave");
        }
        box.onmousedown = function(){
            console.log("onmousedown");
        }
        box.onmouseup = function(){
            console.log("onmouseup");
        }

        // 键盘事件
        // onkeydown         键盘按键按下的时候触发
        // onkeypress        键盘按键按住不松手时触发
        // onkeyup           键盘按键弹起的时候触发
        // 事件发生时候会产生一个事件对象  event
        // event.key          键盘按键信息
        // enent.keyCode      键盘的键码

        document.onkeydown = function(){
            console.log(event.key);
            console.log(event.keyCode);
        }

        document.onkeypress = function(){
            console.log("onkeypress");
        }

        document.onkeyup = function(){
            console.log("onkeyup");
        }
        console.dir(document);
    </script>
</body>

</html>